﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DVM.DV.Model
{

    /// <summary>
    /// 初始化基础信息
    /// </summary>
    public class InitInfoV2
    {
        /// <summary>
        /// 输入类名名称
        /// </summary>
        public string SourceName { get; set; } = string.Empty;

        /// <summary>
        /// 输入类type
        /// </summary>
        public Type SourceType { get; set; }

        /// <summary>
        /// 输入类属性信息
        /// </summary>
        public Dictionary<string, FieldPropertyInfo> SourcePropertyInfos { get; set; } = new Dictionary<string, FieldPropertyInfo>();

        /// <summary>
        /// 输出类名名称
        /// </summary>
        public string OutPutName { get; set; } = string.Empty;

        /// <summary>
        /// 输出type
        /// </summary>
        public Type OutPutType { get; set; }
        /// <summary>
        /// 输入类属性信息
        /// 属性名称
        /// </summary>
        public Dictionary<string, FieldPropertyInfoV2> OutPutPropertyInfos { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public FieldPropertyInfoV2 FieldPropertyInfoV2 { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public List<FieldPropertyInfoV2> FieldPropertyInfoV2s { get; set; }
    }

    /// <summary>
    /// 字段属性信息
    /// </summary>
    public class FieldPropertyInfoV2
    {
        /// <summary>
        /// key为属性赋值特性特性标识名称
        /// </summary>
        public string PropertySetName { get; set; }

        /// <summary>
        /// 属性类型
        /// </summary>
        public Type FieldType { get; set; }

        /// <summary>
        /// 属性值
        /// </summary>
        public List<object>? FieldValue { get; set; }
    }


  
}
